namespace NDomain.Reflection
{
    public interface IDomainInfo
    {
        string Name { get; }
        void NewEntity(string entityPath, string entityName);
        void NewEntity(string entityPath, string entityName, string aggregateName, bool isAggregateRoot);
        void NewValueObject(string valueObjectPath, string valueObjectName);
        void NewValueObject(string valueObjectPath, string valueObjectName, string aggregateName);
        void NewService(string servicePath, string serviceName);
        void NewFactory(string factoryPath, string factoryName, string entityName);
        void NewRepository(string repositoryPath, string repositoryName, string entityName);
    }
}